package com.example.server;

import com.example.dto.role.Role;
import com.example.dto.role.RoleCriteria;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface RoleServer {
    /**
     * 添加角色
     *
     * @param
     * @return ResponseEntity<Object>
     */
    void create(Role resources);

    /**
     * 删除
     *
     * @param ids /
     */
    void delete(Set<Long> ids);

    /**
     * 编辑
     *
     * @param resources /
     */
    void update(Role resources);

    /**
     * 查询角色
     *
     * @param roleCriteria
     * @return Map<String, Object>
     */
    Map<String, Object> list(RoleCriteria roleCriteria);

    /**
     * 根据用户ID查询
     *
     * @return /
     */
    List<Role> findByUsersId(Long id);

    /**
     * 验证是否被用户关联
     *
     * @param ids /
     */
    void verification(Set<Long> ids);

    /**
     * 通过ID查找
     *
     * @param id
     * @return
     */
    Role findById(Long id);

    /**
     * 修改绑定的菜单
     *
     * @param resources /
     * @param role/
     */
    void updateMenu(Role resources, Role role);
    /**
     * 查询全部数据
     * @return /
     */
    List<Role> findAll();
}
